1. Field of the Invention
The present invention relates to TCP connection management and more particularly to TCP connection management in a cellular broadband network.
2. Description of the Related Art
TCP is the transport protocol that regulates the flow of packets between two networking endpoints in an Internet protocol (IP) based network. TCP is designed so that the two networking endpoints can regulate packet flow between them and can adjust the packet flow according to contemporaneous congestion in the network without involving intermediate network nodes. Thus, TCP has proven robust for a variety of networks and link characteristics. However, TCP is not without its drawbacks. Specifically, under certain network conditions, TCP flow control can result in overall packet throughput that is far less than optimal. This is particularly true in the case of a wireless link of a network where the link may suffer from heavy and correlated packet loss due to poor radio propagation characteristics of the wireless portion of the network.
Existing approaches addressing the sub-optimality of TCP flow control fall into three categories: (a) link layer protocols that hide packet loss from the transmission layer by using various techniques including forward error correction and packet retransmissions; (b) split TCP protocols where the entire end-to-end connection is broken in two parts: one for the wireless segment and another for the wireline segment (assuming that the wireless segment is at one end of the network; and (c) end-to-end protocols that modify TCP so that the modified transport protocol is specifically tailored to the characteristics of the wireless links.
These three very different classes of solutions emerged due to different characteristics encountered in different networks. Each of these solutions has known drawbacks. For example, link layer protocols hide packet losses from the transmission layer at the expense of larger round trip time. Therefore it may mislead the transmission layer regarding the status of the actual link condition. In this regard, the transmission layer may needlessly retransmit lost packets due to duplicate acknowledgements even if the lost packets have already been retransmitted by the link layer. Likewise, split TCP protocols break end-to-end semantics and do not fail gracefully if the mobility of a user causes split TCP proxy to move out of the network packet flow. Finally, end-to-end protocols require changes in the TCP stack of both endpoints and a single end-to-end protocol cannot always effectively deal with the variety of networking conditions encountered in a hybrid wireless network.
Of note, split TCP protocols generally are used to solve TCP problems with large round trip times. A typical system uses split TCP to improve TCP performance over a satellite link for example. Split TCP functions by breaking the end-to-end connection into multiple connections and using different parameters to transfer data across the different legs. The end systems use standard TCP with no modifications, and need not know of the existence of the proxies in between. Rather, split TCP intercepts TCP connections from the end systems and terminate them. This allows the end systems to run unmodified and can overcome some problems with TCP window sizes on the end systems being set too low for satellite communications. Even still, split TCP suffers several drawbacks in the wireless environment. The main drawback of the split TCP protocols in a wireless environment are: (a) non conformance to end-to-end semantics; (b) difficult hand-off between basestation or wireless access points (requires transfer of TCP state); (c) requires changes in basestation; and (d) wireless hop may require a new transmission protocol for optimal performance.